﻿Public Class UsersBUS
    Shared Function GetAll() As DataTable        
        Return UsersDAO.GetAll()
    End Function
    Shared Function CheckUser(ByVal username As String, ByVal password As String) As DataTable
        Return UsersDAO.CheckUser(username, password)
    End Function
    Shared Sub Sua(ByRef dt As DataTable, obj As User)
        If isValid(obj) Then
            If IsExists(dt, obj) Then
                MessageBox.Show("Username đã tồn tại")
            Else
                If UsersDAO.Sua(dt, obj) Then
                    MessageBox.Show("Cập nhật thành công")
                Else
                    MessageBox.Show("Có lỗi xảy ra")
                End If
            End If
        End If
    End Sub
    Shared Function IsExists(dt As DataTable, obj As User) As Boolean
        Dim count As Integer = 0
        If obj.MaUser > 0 Then
            count = dt.Select(String.Format("username = '{0}' and MaUser <> '{1}'", obj.username, obj.MaUser)).Count()
        Else
            count = dt.Select(String.Format("username = '{0}'", obj.username)).Count()
        End If

        Return count > 0
    End Function
    Shared Sub Them(ByRef dt As DataTable, obj As User)
        If isValid(obj) Then
            If IsExists(dt, obj) Then
                MessageBox.Show("Username đã tồn tại")
            Else
                If UsersDAO.Them(dt, obj) Then
                    MessageBox.Show("Thêm mới thành công")
                Else
                    MessageBox.Show("Có lỗi xảy ra")
                End If
            End If
        End If
    End Sub
    Shared Function isValid(obj As User) As Boolean
        If obj.Fullname.Trim().Length = 0 Then
            MessageBox.Show("Xin vui lòng nhập vào tên đầy đủ")
            Return False
        End If
        If obj.Password.Trim().Length = 0 Then
            MessageBox.Show("Xin vui lòng nhập vào mật khẩu")
            Return False
        End If
        If obj.username.Trim().Length = 0 Then
            MessageBox.Show("Xin vui lòng nhập vào tên người dùng")
            Return False
        End If
        Return True
    End Function
End Class
